Function Default Parameters
The Evolution of Handling Missing Arguments in JavaScript
3. The Safe & Verbose Way
使用 typeof 與三元運算子。最古老也最嚴謹的防呆寫法,但代碼非常冗長。
function adder3(numOne, numTwo) {
numTwo = typeof numTwo !== 'undefined' ? numTwo : 5;
console.log("number 1: " + numOne);
console.log("number 2: " + numTwo);
}
等待執行...
2. The Logical OR (||)
利用邏輯或 (||) 的短路特性。以前業界最愛用,但遇到傳入值為 0 的時候會發生災難。
function adder2(numOne, numTwo) {
numTwo = numTwo || 5;
console.log("number 1: " + numOne);
console.log("number 2: " + numTwo);
}
等待執行...
1. The Modern ES6 Way
ES6 (ECMAScript 2015) 引入的現代標準寫法。語法最乾淨,且沒有邏輯漏洞。
function adder1(numOne, numTwo = 5) {
console.log("number 1: " + numOne);
console.log("number 2: " + numTwo);
}
等待執行...